package com.bawei.image.loader

import android.content.Context
import android.net.Uri
import android.widget.ImageView
import com.bawei.image.IImgLoader
import com.bawei.image.ImgOptions
//import coil3.load
//import coil3.request.crossfade
//import coil3.request.error
//import coil3.request.placeholder
//import coil3.request.transformations
//import coil3.transform.CircleCropTransformation
import java.io.File

/**
 * Author: Jason Zhang
 * Date: 2025/1/10
 * Desc: Coil图片加载器, 为 Kotlin 设计的轻量级库
 * 特性：
 *    1.Coil给ImageView提供了load()扩展函数
 *    2.Coil 自动支持 GIF 动画，无需额外配置
 *    3.Coil 支持协程，可以直接加载图片
 *    4.Coil 提供内置变换CircleCropTransformation和自定义
 *    5.Coil 支持Compose
 *    6.默认支持内存和磁盘缓存
 *    7.支持图片加载监听
 */
class CoilImgLoader: IImgLoader {
    override fun loadFileIntoImageView(
        ctx: Context,
        file: File,
        target: ImageView,
        option: ImgOptions
    ) {
        TODO("Not yet implemented")
    }

    override fun loadUrlIntoImageView(
        ctx: Context,
        url: String,
        target: ImageView,
        option: ImgOptions
    ) {

//        target.load(url){
//            if (option.placeImage > 0){
//                placeholder(option.placeImage) // 占位图
//            }
//
//            if (option.errorImage > 0){
//                error(option.errorImage) // 错误图
//            }
//
//            if (option.imgSize.size == 2){
//                size(option.imgSize[0], option.imgSize[1])
//            }
//
//            if (option.isCircle){
//                transformations(CircleCropTransformation())
//            }
//
//            //设置淡入淡出效果
//            crossfade(true)
//        }


    }

    override fun loadResIntoImageView(
        ctx: Context,
        resId: Int,
        target: ImageView,
        option: ImgOptions
    ) {
//        target.load(resId){
//            if (option.placeImage > 0){
//                placeholder(option.placeImage) // 占位图
//            }
//
//            if (option.errorImage > 0){
//                error(option.errorImage) // 错误图
//            }
//        }
    }

    override fun loadByteArrayIntoImageView(
        ctx: Context,
        byteArray: ByteArray,
        target: ImageView,
        option: ImgOptions
    ) {
        TODO("Not yet implemented")
    }

    override fun loadUriIntoImageView(
        ctx: Context,
        uri: Uri,
        target: ImageView,
        option: ImgOptions
    ) {
//        target.load(uri){
//            if (option.placeImage > 0){
//                placeholder(option.placeImage) // 占位图
//            }
//
//            if (option.errorImage > 0){
//                error(option.errorImage) // 错误图
//            }
//        }
    }
}